
package com.cms.recursoshumanos.object.list;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.cms.recursoshumanos.object.ArticuloCarrito;

public class ListaArticuloCarrito implements Serializable
{
	/**
	 * 
	 */
	private static final long serialVersionUID = -1538161654089762378L;
	private List<ArticuloCarrito> listaArticulo;
	int total_carrito;
	
	public ListaArticuloCarrito()
	{
		this.listaArticulo = new ArrayList<ArticuloCarrito>();
	}
	public float getCostoCarrito()
	{
		float acum = 0;
		for (int i = 0 ; i < cantElementListaArticulo() ; i++)
		{
			acum = acum + getArticuloAtIndex(i).getMontoTotal();
		}
		return acum;
	}
	public void limpiar_lista()
	{
		listaArticulo.clear();
	}
	public void actualizarArticulo(ArticuloCarrito elArticulo)
	{
		for (int i = 0 ; i < cantElementListaArticulo() ; i++ )
		{
			if (getArticuloAtIndex(i).getArticulo().getIdArticulo() 
					== elArticulo.getArticulo().getIdArticulo())
			{
				
				getArticuloAtIndex(i).setArticulo(elArticulo.getArticulo());
				getArticuloAtIndex(i).setCantidadSeleccionado(elArticulo.getCantidadSeleccionada());
				
				
				break;
			}
		}
	}
	public ArticuloCarrito getArticuloById(int id_Articulo)
	{
		ArticuloCarrito elArticulo = null;
		for (int i = 0; i < cantElementListaArticulo() ; i++)
		{
			ArticuloCarrito elAdiestrmaientoEncontrado = getArticuloAtIndex(i);
			if (elAdiestrmaientoEncontrado.getArticulo().getIdArticulo() == id_Articulo)
			{
				elArticulo = elAdiestrmaientoEncontrado;
				break;
			}
		}
		return elArticulo;
	}
	public int getIndexArticulo(ArticuloCarrito elArticulo)
	{
		return this.listaArticulo.indexOf(elArticulo);
	}
	public int cantElementListaArticulo()
	{
		return this.listaArticulo.size();
	}
	public void addArticulo(ArticuloCarrito el_Articulo)
	{
		this.listaArticulo.add(el_Articulo);	
	}
	public void setListaArticulo(ArrayList<ArticuloCarrito> listaArticulo)
	{
		this.listaArticulo = listaArticulo;
	}
	public List<ArticuloCarrito> getListaArticulo()
	{
		return this.listaArticulo;
	}
	public void resetListaArticulo()
	{
		listaArticulo.clear();
	}
	public void deleteArticuloAtIndex(int index)
	{
		listaArticulo.remove(index);
	}
	public void deleteArticuloAtId(int id_articulo)
	{
		for (int i = 0; i < cantElementListaArticulo(); i++)
		{
			ArticuloCarrito elArticuloCarritoAux = getArticuloAtIndex(i);
			if (elArticuloCarritoAux.getArticulo().getIdArticulo() == id_articulo)
			{
				deleteArticuloAtIndex(i);
				break;
			}
		}
	}
	public ArticuloCarrito getArticuloAtIndex(int index)
	{
		return (ArticuloCarrito) this.listaArticulo.get(index);
	}
	
}




